[INFO] fetching crate molt-ng 0.3.2...
[INFO] checking molt-ng-0.3.2 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate molt-ng 0.3.2 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate molt-ng 0.3.2 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate molt-ng 0.3.2
[INFO] finished tweaking crates.io crate molt-ng 0.3.2
[INFO] tweaked toml for crates.io crate molt-ng 0.3.2 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f74157e617b74d5e46b140c2864aab6c22ba889a9380b8988d39d5c889a6bb39
[INFO] running `Command { std: "docker" "start" "-a" "f74157e617b74d5e46b140c2864aab6c22ba889a9380b8988d39d5c889a6bb39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f74157e617b74d5e46b140c2864aab6c22ba889a9380b8988d39d5c889a6bb39", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f74157e617b74d5e46b140c2864aab6c22ba889a9380b8988d39d5c889a6bb39", kill_on_drop: false }`
[INFO] [stdout] f74157e617b74d5e46b140c2864aab6c22ba889a9380b8988d39d5c889a6bb39
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 07ea0c9696ae7a2efdf5d8b7543ce8c88e009b8a70a16af7e8837689cb904d27
[INFO] running `Command { std: "docker" "start" "-a" "07ea0c9696ae7a2efdf5d8b7543ce8c88e009b8a70a16af7e8837689cb904d27", kill_on_drop: false }`
[INFO] [stderr]     Checking molt-ng v0.3.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: method `slice` is never used
[INFO] [stdout]    --> src/util.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub(crate) trait StringUtils {
[INFO] [stdout]     |                  ----------- method in this trait
[INFO] [stdout] 178 |     fn substring(&self, start: usize, len: usize) -> &str;
[INFO] [stdout] 179 |     fn slice(&self, range: impl RangeBounds<usize>) -> &str;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_any`, `as_any_mut`, and `into_any` are never used
[INFO] [stdout]     --> src/value.rs:1115:8
[INFO] [stdout]      |
[INFO] [stdout] 1114 | trait MoltAny: Any + Display + Debug {
[INFO] [stdout]      |       ------- methods in this trait
[INFO] [stdout] 1115 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 1116 |     fn as_any_mut(&mut self) -> &mut dyn Any;
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 1117 |     fn into_any(self: Box<Self>) -> Box<dyn Any>;
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `molt`
[INFO] [stdout]  --> tests/tcl_tests.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate molt;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `molt-ng` (test "tcl_tests") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: method `slice` is never used
[INFO] [stdout]    --> src/util.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub(crate) trait StringUtils {
[INFO] [stdout]     |                  ----------- method in this trait
[INFO] [stdout] 178 |     fn substring(&self, start: usize, len: usize) -> &str;
[INFO] [stdout] 179 |     fn slice(&self, range: impl RangeBounds<usize>) -> &str;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_any`, `as_any_mut`, and `into_any` are never used
[INFO] [stdout]     --> src/value.rs:1115:8
[INFO] [stdout]      |
[INFO] [stdout] 1114 | trait MoltAny: Any + Display + Debug {
[INFO] [stdout]      |       ------- methods in this trait
[INFO] [stdout] 1115 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 1116 |     fn as_any_mut(&mut self) -> &mut dyn Any;
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 1117 |     fn into_any(self: Box<Self>) -> Box<dyn Any>;
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "07ea0c9696ae7a2efdf5d8b7543ce8c88e009b8a70a16af7e8837689cb904d27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07ea0c9696ae7a2efdf5d8b7543ce8c88e009b8a70a16af7e8837689cb904d27", kill_on_drop: false }`
[INFO] [stdout] 07ea0c9696ae7a2efdf5d8b7543ce8c88e009b8a70a16af7e8837689cb904d27
[INFO] checking molt-ng-0.3.2 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate molt-ng 0.3.2 into /workspace/builds/worker-3-tc2/source
[INFO] validating manifest of crates.io crate molt-ng 0.3.2 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate molt-ng 0.3.2
[INFO] finished tweaking crates.io crate molt-ng 0.3.2
[INFO] tweaked toml for crates.io crate molt-ng 0.3.2 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bafac3fe4a3ea8b9786c46fde32efaedcf3976c395671187d5454ed7645e8233
[INFO] running `Command { std: "docker" "start" "-a" "bafac3fe4a3ea8b9786c46fde32efaedcf3976c395671187d5454ed7645e8233", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bafac3fe4a3ea8b9786c46fde32efaedcf3976c395671187d5454ed7645e8233", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bafac3fe4a3ea8b9786c46fde32efaedcf3976c395671187d5454ed7645e8233", kill_on_drop: false }`
[INFO] [stdout] bafac3fe4a3ea8b9786c46fde32efaedcf3976c395671187d5454ed7645e8233
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3f9e1378352e58bd96c36536270ff998dc406d05205dd1076ab01837c0275f22
[INFO] running `Command { std: "docker" "start" "-a" "3f9e1378352e58bd96c36536270ff998dc406d05205dd1076ab01837c0275f22", kill_on_drop: false }`
[INFO] [stderr]     Checking molt-ng v0.3.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/commands.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 |     for item in &argv[2..] {
[INFO] [stdout]    |                       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/commands.rs:208:31
[INFO] [stdout]     |
[INFO] [stdout] 208 |             Value::from(&argv[0..2]).to_string(),
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:215:49
[INFO] [stdout]     |
[INFO] [stdout] 215 |         molt_ok!(Value::from(list_to_dict(&argv[2..])))
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:226:25
[INFO] [stdout]     |
[INFO] [stdout] 226 |     let indices = &argv[3..];
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:248:25
[INFO] [stdout]     |
[INFO] [stdout] 248 |     let indices = &argv[3..];
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:281:22
[INFO] [stdout]     |
[INFO] [stdout] 281 |     for key in &argv[3..] {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/commands.rs:295:22
[INFO] [stdout]     |
[INFO] [stdout] 295 |     let keys = &argv[3..(argv.len() - 1)];
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:317:22
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let keys = &argv[3..];
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:476:27
[INFO] [stdout]     |
[INFO] [stdout] 476 |         for name in &argv[1..] {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:738:27
[INFO] [stdout]     |
[INFO] [stdout] 738 |     let mut values = argv[2..].to_owned();
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:750:37
[INFO] [stdout]     |
[INFO] [stdout] 750 |         lindex_into(&argv[1], &argv[2..])
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:778:20
[INFO] [stdout]     |
[INFO] [stdout] 778 |     molt_ok!(&argv[1..])
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/commands.rs:912:15
[INFO] [stdout]     |
[INFO] [stdout] 912 |         &argv[1..argv.len() - 1]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/commands.rs:916:15
[INFO] [stdout]     |
[INFO] [stdout] 916 |         &argv[1..argv.len()]
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/commands.rs:1033:22
[INFO] [stdout]      |
[INFO] [stdout] 1033 |     for arg in &argv[2..] {
[INFO] [stdout]      |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/commands.rs:1050:26
[INFO] [stdout]      |
[INFO] [stdout] 1050 |     let opt_args = &argv[2..arglen - 2];
[INFO] [stdout]      |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/commands.rs:1091:26
[INFO] [stdout]      |
[INFO] [stdout] 1091 |     let opt_args = &argv[2..arglen - 2];
[INFO] [stdout]      |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/commands.rs:1142:46
[INFO] [stdout]      |
[INFO] [stdout] 1142 |         .and_then(|(start_byte, _)| haystack[start_byte..].find(needle));
[INFO] [stdout]      |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/commands.rs:1146:29
[INFO] [stdout]      |
[INFO] [stdout] 1146 |         Some(b) => haystack[b..]
[INFO] [stdout]      |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/commands.rs:1264:31
[INFO] [stdout]      |
[INFO] [stdout] 1264 |                 Some(x) => &x[i..],
[INFO] [stdout]      |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/commands.rs:1265:33
[INFO] [stdout]      |
[INFO] [stdout] 1265 |                 None => &string[i..],
[INFO] [stdout]      |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/commands.rs:1370:15
[INFO] [stdout]      |
[INFO] [stdout] 1370 |     for _i in 0..count {
[INFO] [stdout]      |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/dict.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |             &dict_path_insert(dval, &keys[1..], value)?
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/dict.rs:44:44
[INFO] [stdout]    |
[INFO] [stdout] 44 |             &dict_path_insert(&dval, &keys[1..], value)?
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/dict.rs:70:43
[INFO] [stdout]    |
[INFO] [stdout] 70 |             &dict_path_remove(dval, &keys[1..])?
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/dict.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     for i in (0..list.len()).step_by(2) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/expr.rs:1200:18
[INFO] [stdout]      |
[INFO] [stdout] 1200 |         for i in 0..bfunc.num_args {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/interp.rs:2206:61
[INFO] [stdout]      |
[INFO] [stdout] 2206 |                 interp.set_scalar("args", Value::from(&argv[argi..]))?;
[INFO] [stdout]      |                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |         &self.input[self.index..]
[INFO] [stdout]    |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 |         &self.input[mark..]
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |         &self.input[mark..self.index]
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |         &self.input[mark..index]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:92:33
[INFO] [stdout]    |
[INFO] [stdout] 92 |         self.chars = self.input[self.index..].chars().peekable();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:138:18
[INFO] [stdout]     |
[INFO] [stdout] 138 |         for _ in 0..num_chars {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:189:45
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     let octal = &self.input[start..self.index];
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:216:43
[INFO] [stdout]     |
[INFO] [stdout] 216 |                     let hex = &self.input[mark..self.index];
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:471:14
[INFO] [stdout]     |
[INFO] [stdout] 471 |     for _ in 0..chars_left {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/test_harness.rs:272:25
[INFO] [stdout]     |
[INFO] [stdout] 272 |     let mut iter = argv[3..].iter();
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/types.rs:770:43
[INFO] [stdout]     |
[INFO] [stdout] 770 |             let vec: Vec<&str> = ensemble[1..last].iter().map(|x| x.0).collect();
[INFO] [stdout]     |                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:211:15
[INFO] [stdout]     |
[INFO] [stdout] 211 |         &self[byte_start..byte_end]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/value.rs:731:24
[INFO] [stdout]     |
[INFO] [stdout] 731 |             arg = &arg[1..];
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/value.rs:734:24
[INFO] [stdout]     |
[INFO] [stdout] 734 |             arg = &arg[1..];
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/value.rs:738:42
[INFO] [stdout]     |
[INFO] [stdout] 738 |             MoltInt::from_str_radix(&arg[2..], 16)
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:100:44
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let cmd_tokens = Value::from(&argv[0..namec]);
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/commands.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 |     for item in &argv[2..] {
[INFO] [stdout]    |                       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/commands.rs:208:31
[INFO] [stdout]     |
[INFO] [stdout] 208 |             Value::from(&argv[0..2]).to_string(),
[INFO] [stdout]     |                               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:215:49
[INFO] [stdout]     |
[INFO] [stdout] 215 |         molt_ok!(Value::from(list_to_dict(&argv[2..])))
[INFO] [stdout]     |                                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:226:25
[INFO] [stdout]     |
[INFO] [stdout] 226 |     let indices = &argv[3..];
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:248:25
[INFO] [stdout]     |
[INFO] [stdout] 248 |     let indices = &argv[3..];
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:281:22
[INFO] [stdout]     |
[INFO] [stdout] 281 |     for key in &argv[3..] {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/commands.rs:295:22
[INFO] [stdout]     |
[INFO] [stdout] 295 |     let keys = &argv[3..(argv.len() - 1)];
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:317:22
[INFO] [stdout]     |
[INFO] [stdout] 317 |     let keys = &argv[3..];
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:476:27
[INFO] [stdout]     |
[INFO] [stdout] 476 |         for name in &argv[1..] {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:738:27
[INFO] [stdout]     |
[INFO] [stdout] 738 |     let mut values = argv[2..].to_owned();
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:750:37
[INFO] [stdout]     |
[INFO] [stdout] 750 |         lindex_into(&argv[1], &argv[2..])
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/commands.rs:778:20
[INFO] [stdout]     |
[INFO] [stdout] 778 |     molt_ok!(&argv[1..])
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/commands.rs:912:15
[INFO] [stdout]     |
[INFO] [stdout] 912 |         &argv[1..argv.len() - 1]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/commands.rs:916:15
[INFO] [stdout]     |
[INFO] [stdout] 916 |         &argv[1..argv.len()]
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/commands.rs:1033:22
[INFO] [stdout]      |
[INFO] [stdout] 1033 |     for arg in &argv[2..] {
[INFO] [stdout]      |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/commands.rs:1050:26
[INFO] [stdout]      |
[INFO] [stdout] 1050 |     let opt_args = &argv[2..arglen - 2];
[INFO] [stdout]      |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/commands.rs:1091:26
[INFO] [stdout]      |
[INFO] [stdout] 1091 |     let opt_args = &argv[2..arglen - 2];
[INFO] [stdout]      |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/commands.rs:1142:46
[INFO] [stdout]      |
[INFO] [stdout] 1142 |         .and_then(|(start_byte, _)| haystack[start_byte..].find(needle));
[INFO] [stdout]      |                                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/commands.rs:1146:29
[INFO] [stdout]      |
[INFO] [stdout] 1146 |         Some(b) => haystack[b..]
[INFO] [stdout]      |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/commands.rs:1264:31
[INFO] [stdout]      |
[INFO] [stdout] 1264 |                 Some(x) => &x[i..],
[INFO] [stdout]      |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/commands.rs:1265:33
[INFO] [stdout]      |
[INFO] [stdout] 1265 |                 None => &string[i..],
[INFO] [stdout]      |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/commands.rs:1370:15
[INFO] [stdout]      |
[INFO] [stdout] 1370 |     for _i in 0..count {
[INFO] [stdout]      |               ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/dict.rs:37:43
[INFO] [stdout]    |
[INFO] [stdout] 37 |             &dict_path_insert(dval, &keys[1..], value)?
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/dict.rs:44:44
[INFO] [stdout]    |
[INFO] [stdout] 44 |             &dict_path_insert(&dval, &keys[1..], value)?
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/dict.rs:70:43
[INFO] [stdout]    |
[INFO] [stdout] 70 |             &dict_path_remove(dval, &keys[1..])?
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/dict.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     for i in (0..list.len()).step_by(2) {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/expr.rs:1200:18
[INFO] [stdout]      |
[INFO] [stdout] 1200 |         for i in 0..bfunc.num_args {
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]     --> src/interp.rs:2206:61
[INFO] [stdout]      |
[INFO] [stdout] 2206 |                 interp.set_scalar("args", Value::from(&argv[argi..]))?;
[INFO] [stdout]      |                                                             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:43:21
[INFO] [stdout]    |
[INFO] [stdout] 43 |         &self.input[self.index..]
[INFO] [stdout]    |                     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:54:21
[INFO] [stdout]    |
[INFO] [stdout] 54 |         &self.input[mark..]
[INFO] [stdout]    |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |         &self.input[mark..self.index]
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |         &self.input[mark..index]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/tokenizer.rs:92:33
[INFO] [stdout]    |
[INFO] [stdout] 92 |         self.chars = self.input[self.index..].chars().peekable();
[INFO] [stdout]    |                                 ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:138:18
[INFO] [stdout]     |
[INFO] [stdout] 138 |         for _ in 0..num_chars {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:189:45
[INFO] [stdout]     |
[INFO] [stdout] 189 |                     let octal = &self.input[start..self.index];
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/tokenizer.rs:216:43
[INFO] [stdout]     |
[INFO] [stdout] 216 |                     let hex = &self.input[mark..self.index];
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parser.rs:471:14
[INFO] [stdout]     |
[INFO] [stdout] 471 |     for _ in 0..chars_left {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/test_harness.rs:272:25
[INFO] [stdout]     |
[INFO] [stdout] 272 |     let mut iter = argv[3..].iter();
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/types.rs:770:43
[INFO] [stdout]     |
[INFO] [stdout] 770 |             let vec: Vec<&str> = ensemble[1..last].iter().map(|x| x.0).collect();
[INFO] [stdout]     |                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/util.rs:211:15
[INFO] [stdout]     |
[INFO] [stdout] 211 |         &self[byte_start..byte_end]
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/value.rs:731:24
[INFO] [stdout]     |
[INFO] [stdout] 731 |             arg = &arg[1..];
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/value.rs:734:24
[INFO] [stdout]     |
[INFO] [stdout] 734 |             arg = &arg[1..];
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/value.rs:738:42
[INFO] [stdout]     |
[INFO] [stdout] 738 |             MoltInt::from_str_radix(&arg[2..], 16)
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:100:44
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let cmd_tokens = Value::from(&argv[0..namec]);
[INFO] [stdout]     |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `slice` is never used
[INFO] [stdout]    --> src/util.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub(crate) trait StringUtils {
[INFO] [stdout]     |                  ----------- method in this trait
[INFO] [stdout] 178 |     fn substring(&self, start: usize, len: usize) -> &str;
[INFO] [stdout] 179 |     fn slice(&self, range: impl RangeBounds<usize>) -> &str;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_any`, `as_any_mut`, and `into_any` are never used
[INFO] [stdout]     --> src/value.rs:1115:8
[INFO] [stdout]      |
[INFO] [stdout] 1114 | trait MoltAny: Any + Display + Debug {
[INFO] [stdout]      |       ------- methods in this trait
[INFO] [stdout] 1115 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 1116 |     fn as_any_mut(&mut self) -> &mut dyn Any;
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 1117 |     fn into_any(self: Box<Self>) -> Box<dyn Any>;
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `molt`
[INFO] [stdout]  --> tests/tcl_tests.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | extern crate molt;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `molt-ng` (test "tcl_tests") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: method `slice` is never used
[INFO] [stdout]    --> src/util.rs:179:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub(crate) trait StringUtils {
[INFO] [stdout]     |                  ----------- method in this trait
[INFO] [stdout] 178 |     fn substring(&self, start: usize, len: usize) -> &str;
[INFO] [stdout] 179 |     fn slice(&self, range: impl RangeBounds<usize>) -> &str;
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `as_any`, `as_any_mut`, and `into_any` are never used
[INFO] [stdout]     --> src/value.rs:1115:8
[INFO] [stdout]      |
[INFO] [stdout] 1114 | trait MoltAny: Any + Display + Debug {
[INFO] [stdout]      |       ------- methods in this trait
[INFO] [stdout] 1115 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] 1116 |     fn as_any_mut(&mut self) -> &mut dyn Any;
[INFO] [stdout]      |        ^^^^^^^^^^
[INFO] [stdout] 1117 |     fn into_any(self: Box<Self>) -> Box<dyn Any>;
[INFO] [stdout]      |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 46 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3f9e1378352e58bd96c36536270ff998dc406d05205dd1076ab01837c0275f22", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f9e1378352e58bd96c36536270ff998dc406d05205dd1076ab01837c0275f22", kill_on_drop: false }`
[INFO] [stdout] 3f9e1378352e58bd96c36536270ff998dc406d05205dd1076ab01837c0275f22
